Graphical user interface for a cell router usable by both novice and advanced users

ABSTRACT

One embodiment of the invention provides a graphical user interface for configuring parameters that control a cell routing process used to lay out a cell, wherein the graphical user interface is useable by both novice and advanced users. The graphical user interface provides both a scenario section and a parameter section. The scenario section allows a user to select a scenario that sets values for multiple parameters applicable to the cell routing process, while the parameter section allows a user to set and adjust individual routing parameters. The graphical user interface also includes an output that displays the parameters to the user. Note that the scenario section of the graphical user interface is useful for a novice user who does not understand the interrelationships between routing parameters, while the parameter section of the graphical user interface is useful for an advanced user who desires to set individual parameters.

BACKGROUND

[0001] 1. Field of the Invention

[0002] The invention relates to the process of producing a layout for anintegrated circuit. More specifically, the invention relates to agraphical user interface for a cell router that routes interconnectionsbetween cells of an integrated circuit, wherein the graphical userinterface is usable by both novice and advanced users.

[0003] 2. Related Art

[0004] The process of producing a layout for an integrated circuitinvolves many operations that are computer intensive. These operationsinclude placing circuit cells and other elements on an integratedcircuit floor plan and then routing interconnections between the variouselements of the integrated circuit. The process of routing theinterconnections between the various elements of the integrated circuitis typically performed by a cell router, such as the cell routerincorporated in the Cadabra™ system distributed by Synopsys, Inc. ofMountain View, Calif. A cell router routes connections within a specificcell as opposed to a global router, which routes connections betweencells within an integrated circuit. A cell is a collection of devicesgrouped together to perform a specific function. For example, a cell canbe a standard cell from a standard cell library.

[0005] A cell router can be viewed as a “black box” that takes a placedcell layout as an input and produces a routed cell layout as an output.Since different applications often require different routing styles, thecell router typically includes setup parameters that can be used to tunethe cell routing solver. These parameters can include layer costs andpenalties, contact costs and penalties, and the like. A deepunderstanding of the cell router is required to set the parameters in anoptimal manner.

[0006]FIG. 1 illustrates a graphical user interface 102 designed foradvanced users. Graphical user interface 102 allows a user to adjust,inter alia, the routing costs, wire widths and the snap-to-gridcharacteristics for different wire types 104. Note that the routingcosts are typically a function of the length of the wire.

[0007] While graphical user interface 102 allows a user to configurerouting parameters within the system, a novice user has insufficientknowledge to be able to successfully set a routing strategy, for exampleby setting a preference for power routing. This is because setting apreference for power routing (or any other preference) requires acomprehensive understanding of the interactions between the variousparameters and how to assign costs for the various wire types 104.

[0008] Hence, what is needed is an interface to the cell router thatassists the novice user in setting routing parameters in an optimalmanner while maintaining the ability for an advanced user toindividually set each parameter.

SUMMARY

[0009] One embodiment of the invention provides a graphical userinterface for configuring parameters that control a cell routing processused to lay out a cell, wherein the graphical user interface is useableby both novice and advanced users. The graphical user interface providesboth a scenario section and a parameter section. The scenario sectionallows a user to select a scenario that sets values for multipleparameters applicable to the cell routing process, while the parametersection allows a user to set and adjust individual routing parameters.The graphical user interface also includes an output that displays theparameters to the user. Note that the scenario section of the graphicaluser interface is useful for a novice user who does not understand theinterrelationships between routing parameters, while the parametersection of the graphical user interface is useful for an advanced userwho desires to set individual parameters.

[0010] In a variation of this embodiment, the parameters in theparameter section are updated based upon the scenario selected in thescenario section.

[0011] In a further variation, the parameter section can be hidden fromview.

[0012] In a further variation, the multiple parameters includeparameters related to globally routing wiring connections between cellsof an integrated circuit device.

[0013] In a further variation, the graphical user interface can beconfigured to control other processes related to generating a layout ofan integrated circuit.

BRIEF DESCRIPTION OF THE FIGURES

[0014]FIG. 1 illustrates a prior art graphical user interface designedfor advanced users.

[0015]FIG. 2 illustrates a cell routing system in accordance with anembodiment of the invention.

[0016]FIG. 3 illustrates a graphical user interface for a cell routerthat is usable by both novice and advanced users in accordance with anembodiment of the invention.

DETAILED DESCRIPTION

[0017] Overview

[0018] The invention provides the user with a graphical user interfacethat facilitates configuring routing parameters for a router for a cell.This graphical user interface includes a scenario section for a noviceuser and a parameter section for an advanced user. The scenario sectionallows a novice user to select between multiple scenarios, each of whichsets cell router parameters for a specific strategy. For example, a usercan select a power routing strategy, which sets routing parameters thatfavor the power wires within the cell. There are many cell routingstrategies and hence many scenarios are possible for cell routing withina cell. Note that a novice user can select a cell routing strategywithin the scenario section to facilitate routing cells within the cellwithout detailed knowledge of the individual parameters. Additionally,the novice user can learn how the parameters are set for differingstrategies by selecting a strategy and then viewing and studying thecorresponding parameters.

[0019] The parameter section allows the advanced user to directlymanipulate routing parameters so that the advanced user can use detailedknowledge of the routing process to tune the routing parameters. Theparameter section allows the user to modify the relevant parameters.Furthermore, some embodiments allow the parameter section to be hiddenfrom view when only the scenario section is desired/needed.

[0020] After setting the parameters using either the scenario section orthe parameter section, the graphical user interface provides theparameters to the cell router. The cell router uses these parameters tocontrol the cell routing process.

[0021] Note that although this description describes a system that setsparameters for a cell router, the invention can generally be used forany electronic design automation process that involves setting manyparameters and where setting the proper combination of these parametersrequires detailed knowledge of the process and considerable experienceusing the process. For example, the invention can be applied to opticalproximity correction (OPC), generation of a phase shifting mask (PSM),and compaction of a circuit layout.

[0022] Cell Router System

[0023]FIG. 2 illustrates a cell router system in accordance with anembodiment of the invention. This cell router system includes cellrouter 204 and graphical user interface (GUI) 206. Cell router 204receives a placed cell 202 from a cell placing process, and then routesthe interconnections within the cell to produce a routed cell 208 as anoutput. Prior to the routing process, cell router 204 receivesparameters 212 from GUI 206. Cell router 204 uses parameters 212 toguide the routing process. In some instances (not shown) the parameters212 may be accessed from a file or other data store, created by the GUI206, e.g. the previous day, from a saved set of preferences for a givenlibrary design, etc.

[0024] During operation of the system, a user (not shown) uses GUI 206to either select a scenario or to manually enter and/or change parametervalues that control the routing process. After the parameters have beenentered, either by selecting a scenario or by manually entering theparameters, the parameters 212 are sent to cell router 204.

[0025] Graphical User Interface

[0026]FIG. 3 illustrates an advanced graphical user interface inaccordance with an embodiment of the invention. Graphical user interface(GUI) 206 includes scenario section 304 and parameter section 306. Auser, not shown, can select one of the scenarios in scenario section304. For example, FIG. 3 shows selections for a power routing strategy,which include “Metal Routing,” “Diffusion Routing,” and “Custom.” Theseselections set the cell router parameters to predetermined valuesassociated with the strategy that has been selected. Note that strategyselections are mutually exclusive. Hence, the strategy selections havebeen implemented as “Radio” buttons.

[0027] Scenario selection 304 also includes “Hide” button 308. Hidebutton 308 can be used to either hide or display parameter selection306. Note that when parameter section 306 is hidden, hide button 308 candisplay “Display” or another word as desired.

[0028] Parameter section 306 graphically displays the relevant valuesfor parameters that would be determined by the strategy and routing thathave been selected in scenario section 304. A novice user can examinethese values and learn how the different strategies affect the cellrouter parameters while an advanced user can fine tune these routingparameters. The routing parameters can be altered using a mouse,keyboard commands, and/or other acceptable input device. Note thatmodifying individual parameters in the parameter section will cause arouting strategy in the scenario section to be changed to the “Custom”routing strategy.

[0029] In some embodiments the scenarios are provided by the softwarevendor. In other embodiments, the software may have a capability toallow users to create and save custom parameter values as scenarios foruse by other users. For example, the head designer could save a set ofparameters as XYZCorp Routing and that might then appear as one of theselectable scenarios. The particular GUI input mechanism for scenarioselection can be replaced with other GUI selection techniques to allowscenario selection when the number of scenarios is larger than wouldeasily fit on the screen at one time.

[0030] As is illustrated in FIG. 3, parameter section 306 can includebar graphs with taller bars representing increased routing costs.Optionally, the parameter values can be displayed as numerals at thetop, bottom, or alongside the respective bars. After the user issatisfied with the selections, the selections can be accepted with the“apply” button. Conversely, if the user does not want to use the currentselections, the user can activate the “cancel” button to reject theselections. Typically, the selections are reset to their previous valueswhen the cancel button is activated.

[0031] Note that while the invention has been described in the contextof a cell router, the invention is applicable to any parameter drivenelectronic design automation process where there are many parameters toset and where setting these parameters requires detailed knowledge ofthe process and how the parameters affect the process. The scenarioselection section allows a novice user to control the process and tolearn how the parameters affect the process. The parameter sectionallows an advanced user with detailed knowledge of the process to tunethe parameters for a desired effect from the process.

Conclusion

[0032] The foregoing description is presented to enable one to make anduse the invention, and is provided in the context of a particularapplication and its requirements. It is not intended to be exhaustive orto limit the invention to the forms disclosed. Various modifications tothe disclosed embodiments will be readily apparent, and the generalprinciples defined herein may be applied to other embodiments andapplications without departing from the spirit and scope of theinvention. Thus, the invention is not intended to be limited to theembodiments shown, but is to be accorded the widest scope consistentwith the principles and features disclosed herein. Accordingly, manymodifications and variations will be apparent. The scope of theinvention is defined by the appended claims.

[0033] The data structures and code described in this detaileddescription can be stored on a computer readable storage medium, whichmay be any device or medium that can store code and/or data for use by acomputer system. This includes, but is not limited to, magnetic andoptical storage devices such as disk drives, magnetic tape, CDs (compactdiscs) and DVDs (digital versatile discs or digital video discs), andcomputer instruction signals embodied in a transmission medium (with orwithout a carrier wave upon which the signals are modulated). Forexample, the transmission medium may include a communications network,such as the Internet. Further, the carrier wave may include computerinstruction signals for a cell router 204 accessed across a computernetwork that includes the advanced GUI 206.

What is claimed is:
 1. A graphical user interface for controlling arouting process used to lay out a cell within an integrated circuit,comprising: a scenario section, wherein a user can select a scenariothat sets values for a plurality of parameters applicable to the cellrouting process; a parameter section, wherein the user can set andadjust individual parameters in the plurality of parameters; and anoutput that provides the plurality of parameters to the cell routingprocess; whereby the scenario section is useful for a novice user whodoes not understand the inter-relationships between routing parameters,while the parameter section is useful for an advanced user who desiresto set individual parameters.
 2. The graphical user interface of claim1, wherein the plurality of parameters in the parameter section areupdated based upon the scenario selected in the scenario section.
 3. Thegraphical user interface of claim 1, wherein the parameter section canbe hidden from view.
 4. The graphical user interface of claim 1, whereinthe plurality of parameters includes parameters for routing wiringconnections between cells of an integrated circuit device.
 5. Thegraphical user interface of claim 1, wherein the graphical userinterface can be configured to control other processes related togenerating a layout of a cell.
 6. A computer-readable storage mediumstoring instructions that when executed by a computer causes thecomputer to display a graphical user interface for controlling a routingprocess used to lay out a cell within an integrated circuit, thegraphical user interface comprising: a scenario section, wherein a usercan select a scenario that sets values for a plurality of parametersapplicable to the cell routing process; a parameter section, wherein theuser can set and adjust individual parameters in the plurality ofparameters; and an output that provides the plurality of parameters tothe cell routing process; whereby the scenario section is useful for anovice user who does not understand the inter-relationships betweenrouting parameters, while the parameter section is useful for anadvanced user who desires to set individual parameters.
 7. Thecomputer-readable storage medium of claim 6, wherein the plurality ofparameters in the parameter section are updated based upon the scenarioselected in the scenario section.
 8. The computer-readable storagemedium of claim 6, wherein the parameter section can be hidden fromview.
 9. The computer-readable storage medium of claim 6, wherein theplurality of parameters includes parameters for routing wiringconnections between cells of an integrated circuit device.
 10. Thecomputer-readable storage medium of claim 6, wherein the graphical userinterface can be configured to control other processes related togenerating a layout of a cell.
 11. A means for presenting a graphicaluser interface for controlling a routing process used to lay out a cellwithin an integrated circuit, comprising: a scenario selection means,wherein a user can select a scenario within a scenario section that setsvalues for a plurality of parameters within a parameter sectionapplicable to the cell routing process; a parameter selection means,wherein the user can set and adjust individual parameters in theplurality of parameters; and an output means that provides the pluralityof parameters to the cell routing process; whereby the scenario sectionis useful for a novice user who does not understands theinter-relationships between routing parameters, while the parametersection is useful for an advanced user who desires to set individualparameters.
 12. The means of claim 11, wherein the plurality ofparameters in the parameter section are updated based upon the scenarioselected in the scenario section.
 13. The means of claim 11, wherein theparameter section can be hidden from view.
 14. The means of claim 11,wherein the plurality of parameters includes parameters for routingwiring connections between cells of an integrated circuit device. 15.The means of claim 11, wherein the graphical user interface can beconfigured to control other processes related to generating a layout ofa cell.
 16. An apparatus for controlling a routing process used to layout a cell within an integrated circuit using a graphical userinterface, comprising: a selection mechanism configured to select ascenario from a scenario section, wherein a user can select the scenariothat sets values for a plurality of parameters applicable to the cellrouting process; a setting mechanism configured to set a parameterwithin a parameter section, wherein the user can set and adjustindividual parameters in the plurality of parameters; and an outputmechanism configured to provide the plurality of parameters to the cellrouting process; whereby the scenario section is useful for a noviceuser who does not understands the inter-relationships between routingparameters, while the parameter section is useful for an advanced userwho desires to set individual parameters.
 17. The apparatus of claim 16,wherein the plurality of parameters in the parameter section are updatedbased upon the scenario selected in the scenario section.
 18. Theapparatus of claim 16, wherein the parameter section can be hidden fromview.
 19. The apparatus of claim 16, wherein the plurality of parametersincludes parameters for routing wiring connections between cells of anintegrated circuit device.
 20. The apparatus of claim 16, wherein thegraphical user interface can be configured to control other processesrelated to generating a layout of a cell.